<?php
// Konstante die zeigt, dass das Backend geladen ist
define("CMREAMS_BACKEND", true);
define("DS", DIRECTORY_SEPARATOR);

// Callbacks
$cmreams_callbacks = array();
function createCallback($funktionname, $args = array())
{
  global $cmreams_callbacks;
  $cmreams_callbacks[] = array($funktionname, $args);
}

// Definiere 
$modsdir = "mods/";
class JLoader
{
   /**
   * Loads a class from specified directories.
   *
   * @param string $name        The class name to look for ( dot notation ).
   * @return boolean True if the requested class has been successfully included
   * @since 1.5
   */
  function import( $filePath  )
  {
    $path = str_replace( '.', DS, $filePath );
    $path = dirname( __FILE__ ) . DS . "includes" . DS . $path . ".php";
    if( !file_exists( $path ) ) { return false; }
    $trs = include_once( $path );
    return $trs;
  }
}
$cmreams_global_var_cimport = array();
function jimport($var)
{
  global $cmreams_global_var_cimport;
  if(in_array($var, $cmreams_global_var_cimport)) {return true;}
  return JLoader::import($var);
}

/****************************************
****** Variablen zum Ausgeben ***********
******     des Templates      ***********
****************************************/
$menu = "";
$content = "";
$title = "";


/****************************************
****** Checks ***************************
****************************************/

// Breche ab, falls der Setup-Ordner noch existiert
if(file_exists("../setup/") && is_dir("../setup/")) {
  //die("Installationsverzeichnis noch vorhanden! Sie m&uuml;ssen es erst l&ouml;schen, bevor sie das Backend nutzen k&ouml;nnen.<br><br>Setup noch nicht ausgef&uuml;hrt? Dann <a href=\"../setup.php\">hier</a> klicken.");
}

// Falls die Konfigurationsdatei noch nicht angelegt ist ...
if(!file_exists("../edit/config.inc.php")) {
  // ... und die Setupdatei vorhanden ist ...
  if(file_exists("../setup.php") && is_file("../setup.php")) {
    // ... zu dieser Datei umleiten.
    header("Location: ../setup.php");
  } else {
    // Andernfalls das Programm mit einer Fehlermeldung abbrechen
    die("Error 404: config.inc.php<br />Die Konfigurationsdatei dieses CMS wurde nicht gefunden!");
  }
}

/****************************************
****** Versionsinformation **************
****************************************/
// Definiere Version-Informationen
$cms_name = "CMReams";
$cms_version = "0";
$cms_build = "0";
// Lade Versions-Informationen (falls die Datei version.php existiert)
if(file_exists("version.php")) {
  include_once "version.php";
}


/****************************************
****** Includiere benoetigte ************
******         Dateien       ************
****************************************/
// Lade die Konfigurationsdatei
include_once("../edit/config.inc.php");
// Verbinde mit MySQL (nutzt dabei die oben geladen Daten der Konfigurationsdatei)
include_once("../zugriff.inc.php");

jimport( "cmreams.system" );
jimport( "cmreams.security.gpc" );
jimport( "cmreams.menu" );
jimport( "cmreams.gui.javascripts" );

// Lade Gauntlet (Zugriffsrechte-Programm)
include_once "gauntlet/gauntlet.php";
// Falls der User eingeloggt ist
if($gauntlet_no_error) {
  // Lade Module, Menues und weitere
  include_once "loader.php";
}

// Schreibe MySQL-Log
$glog->write();


// Behandle Callbacks
foreach($cmreams_callbacks as $cc) {
  call_user_func_array($cc[0], $cc[1]);
}

/****************************************
****** Ausgabe **************************
****************************************/
//Lade Mootoolsdatei (graphische Effekte)
addJavascriptFile("js/mootools.js", false);

// Lade Template (zur Ausgabe des Backendbereichs)
include_once "css/index.php.tpl";
?>